Export private _gtk_menu_shell_activate() to encapsulate cut-and-paste
authorOwen Taylor <otaylor@redhat.com>
Thu, 11 Apr 2002 14:28:11 +0000 (14:28 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Thu, 11 Apr 2002 14:28:11 +0000 (14:28 +0000)
Sat Apr  6 06:57:00 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenushell.[ch] gtk/gtkmenuitem.c: Export
        private _gtk_menu_shell_activate() to encapsulate
        cut-and-paste code.

        * gtk/gtkmenubar.c: Select the first item on the menu bar
        for F10 rather than acting as if the user pressed <Alt>F
        to select the file manager.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmenubar.c
gtk/gtkmenuitem.c
gtk/gtkmenushell.c
gtk/gtkmenushell.h

index bf30889e5f3e9e937e3eb00a538553ad60badd09..e26e6ed6b84060be0fe4cdce5ce7d537ac247c89 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Sat Apr  6 06:57:00 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenushell.[ch] gtk/gtkmenuitem.c: Export
+       private _gtk_menu_shell_activate() to encapsulate
+       cut-and-paste code.
+
+       * gtk/gtkmenubar.c: Select the first item on the menu bar
+       for F10 rather than acting as if the user pressed <Alt>F
+       to select the file manager.
+
 Tue Apr  9 19:01:28 2002  Owen Taylor  <otaylor@redhat.com>
 
         Fix problems with HandleBox and focusing - #78232
index bf30889e5f3e9e937e3eb00a538553ad60badd09..e26e6ed6b84060be0fe4cdce5ce7d537ac247c89 100644 (file)
@@ -1,3 +1,13 @@
+Sat Apr  6 06:57:00 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenushell.[ch] gtk/gtkmenuitem.c: Export
+       private _gtk_menu_shell_activate() to encapsulate
+       cut-and-paste code.
+
+       * gtk/gtkmenubar.c: Select the first item on the menu bar
+       for F10 rather than acting as if the user pressed <Alt>F
+       to select the file manager.
+
 Tue Apr  9 19:01:28 2002  Owen Taylor  <otaylor@redhat.com>
 
         Fix problems with HandleBox and focusing - #78232
index bf30889e5f3e9e937e3eb00a538553ad60badd09..e26e6ed6b84060be0fe4cdce5ce7d537ac247c89 100644 (file)
@@ -1,3 +1,13 @@
+Sat Apr  6 06:57:00 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenushell.[ch] gtk/gtkmenuitem.c: Export
+       private _gtk_menu_shell_activate() to encapsulate
+       cut-and-paste code.
+
+       * gtk/gtkmenubar.c: Select the first item on the menu bar
+       for F10 rather than acting as if the user pressed <Alt>F
+       to select the file manager.
+
 Tue Apr  9 19:01:28 2002  Owen Taylor  <otaylor@redhat.com>
 
         Fix problems with HandleBox and focusing - #78232
index bf30889e5f3e9e937e3eb00a538553ad60badd09..e26e6ed6b84060be0fe4cdce5ce7d537ac247c89 100644 (file)
@@ -1,3 +1,13 @@
+Sat Apr  6 06:57:00 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenushell.[ch] gtk/gtkmenuitem.c: Export
+       private _gtk_menu_shell_activate() to encapsulate
+       cut-and-paste code.
+
+       * gtk/gtkmenubar.c: Select the first item on the menu bar
+       for F10 rather than acting as if the user pressed <Alt>F
+       to select the file manager.
+
 Tue Apr  9 19:01:28 2002  Owen Taylor  <otaylor@redhat.com>
 
         Fix problems with HandleBox and focusing - #78232
index bf30889e5f3e9e937e3eb00a538553ad60badd09..e26e6ed6b84060be0fe4cdce5ce7d537ac247c89 100644 (file)
@@ -1,3 +1,13 @@
+Sat Apr  6 06:57:00 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenushell.[ch] gtk/gtkmenuitem.c: Export
+       private _gtk_menu_shell_activate() to encapsulate
+       cut-and-paste code.
+
+       * gtk/gtkmenubar.c: Select the first item on the menu bar
+       for F10 rather than acting as if the user pressed <Alt>F
+       to select the file manager.
+
 Tue Apr  9 19:01:28 2002  Owen Taylor  <otaylor@redhat.com>
 
         Fix problems with HandleBox and focusing - #78232
index bf30889e5f3e9e937e3eb00a538553ad60badd09..e26e6ed6b84060be0fe4cdce5ce7d537ac247c89 100644 (file)
@@ -1,3 +1,13 @@
+Sat Apr  6 06:57:00 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenushell.[ch] gtk/gtkmenuitem.c: Export
+       private _gtk_menu_shell_activate() to encapsulate
+       cut-and-paste code.
+
+       * gtk/gtkmenubar.c: Select the first item on the menu bar
+       for F10 rather than acting as if the user pressed <Alt>F
+       to select the file manager.
+
 Tue Apr  9 19:01:28 2002  Owen Taylor  <otaylor@redhat.com>
 
         Fix problems with HandleBox and focusing - #78232
index fc45328df122eb5feae2028bfd1ed39b6ac97655..47975af2c8a3d3a9ea63c1f84f08de8a92e0baf6 100644 (file)
@@ -416,16 +416,14 @@ window_key_press_handler (GtkWidget   *widget,
                                                GTK_DIR_TAB_FORWARD, NULL);
          if (menubars)
            {
-             GtkMenuShell *menushell = GTK_MENU_SHELL (menubars->data);
+             GtkMenuShell *menu_shell = GTK_MENU_SHELL (menubars->data);
 
-             if (menushell->children)
-               {
-                 gtk_signal_emit_by_name (GTK_OBJECT (menushell->children->data),
-                                          "activate_item");
-                 retval = TRUE;
-               }
+             _gtk_menu_shell_activate (menu_shell);
+             _gtk_menu_shell_select_first (menu_shell);
              
              g_list_free (menubars);
+             
+             retval = TRUE;          
            }
         }
 
index 5e30156e9f24f4c2092044ee2d1f41772ef6ad73..93bd035b05c6a08500afb626cff18d2509b1307a 100644 (file)
@@ -779,12 +779,7 @@ gtk_real_menu_item_activate_item (GtkMenuItem *menu_item)
        {
          GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget->parent);
 
-         if (!menu_shell->active)
-           {
-             gtk_grab_add (GTK_WIDGET (menu_shell));
-             menu_shell->have_grab = TRUE;
-             menu_shell->active = TRUE;
-           }
+         _gtk_menu_shell_activate (menu_shell);
 
          gtk_menu_shell_select_item (GTK_MENU_SHELL (widget->parent), widget); 
          gtk_menu_item_popup_submenu (widget); 
index dac8ed4db1b55c783e3e9395ae683231452241d1..f90f56fbf7576d900d1e162df33272f7cbe0decf 100644 (file)
@@ -440,6 +440,17 @@ gtk_menu_shell_realize (GtkWidget *widget)
   gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
 }
 
+void
+_gtk_menu_shell_activate (GtkMenuShell *menu_shell)
+{
+  if (!menu_shell->active)
+    {
+      gtk_grab_add (GTK_WIDGET (menu_shell));
+      menu_shell->have_grab = TRUE;
+      menu_shell->active = TRUE;
+    }
+}
+
 static gint
 gtk_menu_shell_button_press (GtkWidget      *widget,
                             GdkEventButton *event)
@@ -461,12 +472,8 @@ gtk_menu_shell_button_press (GtkWidget      *widget,
     }
   else if (!menu_shell->active || !menu_shell->button)
     {
-      if (!menu_shell->active)
-       {
-         gtk_grab_add (GTK_WIDGET (widget));
-         menu_shell->have_grab = TRUE;
-         menu_shell->active = TRUE;
-       }
+      _gtk_menu_shell_activate (menu_shell);
+      
       menu_shell->button = event->button;
 
       menu_item = gtk_menu_shell_get_item (menu_shell, (GdkEvent *)event);
index 9f90bdd49dba501eafa5059d07f166630308ff45..9edb887b32a63bbb1af2fe63e54b91b2443cd9e4 100644 (file)
@@ -112,6 +112,7 @@ void    gtk_menu_shell_activate_item  (GtkMenuShell      *menu_shell,
                                       gboolean           force_deactivate);
 
 void _gtk_menu_shell_select_first (GtkMenuShell *menu_shell);
+void _gtk_menu_shell_activate     (GtkMenuShell *menu_shell);
 
 #ifdef __cplusplus
 }